標籤:演講影片
重構工作流程 (OOP 2014)
在過去十年左右,重構已成為廣泛使用的技術,用於維持程式碼庫的高內部品質。然而,大多數團隊並未充分利用重構,因為他們不知道可以在各種工作流程中使用它。在慕尼黑舉辦的 OOP 2014 主題演講中,我探討了其中一些工作流程:例如拾取垃圾重構、理解重構和準備性重構。我也提醒大家,為什麼重構的常見理由會破壞你的最大努力。(這場演講也有作為資訊卡的處理方式。)
不只是程式碼猴子 (OOP 2014)
這是我在慕尼黑舉辦的 OOP 2014 主題演講的第二部分,也是一場難以描述的演講。我通常喜歡用標題和摘要來描述演講的內容,但這場演講是一趟旅程,我不想告訴你我要去哪裡,而是想和你一起探索這片土地。我會說,它始於我對大多數敏捷軟體開發採用方式的最大問題,也就是使用者、分析師和程式設計師之間互動的本質。它繼續探討這些角色,提出關於程式設計師與使用者關係、我們對他們的責任,以及最後我認為程式設計師需要面對的兩大挑戰的問題。
2018 年敏捷軟體的現況
表面上,敏捷軟體開發的世界一片光明,因為它現在已成為主流。但現實令人不安,因為所做的事情大多是偽敏捷,無視敏捷的價值觀和原則。我們應該關注的三個主要挑戰是:對抗敏捷產業綜合體及其強加流程給團隊的習慣、提升技術卓越的重要性,以及圍繞產品(而非專案)組織我們的團隊。儘管存在問題,但社群的強大之處在於其學習和適應的能力,解決我們原始宣言作者無法想像的問題。
我們對擊敗大規模監控的責任
在我們為 goto 2014 所做的主題演講中,Erik 和我考慮了軟體專業人士對我們的軟體如何影響社會負起責任的一個面向。目前的主要問題之一是隱私,而這正受到大規模監控的侵蝕。電子郵件目前存在問題,因為電子郵件轉移到服務,導致電子郵件提供集中化,使得監控變得更容易。我們需要透過努力擴大電子郵件加密的使用,來改善隱私,這樣大規模監控的成本就會變得過高。這方面的挑戰主要是使用者體驗和軟體封裝的挑戰,而不是需要對密碼學有深入了解的事情。
我在 YouTube 上的演講播放清單
我的許多演講都可以在 YouTube 上找到。以下是我的 YouTube 演講播放清單,我會盡力保持最新。
NoSQL 簡介
在goto Aarhus,我們有一個關於 NoSQL 的一些實際經驗的軌道。我被要求做一個最初的演講,來解釋 NoSQL 資料儲存的基本原理。我談論 NoSQL 的起源、NoSQL 資料模型的形式、許多 NoSQL 資料庫考慮一致性問題的方式,以及多語持久性的重要性。
發展行動實作策略
行動裝置在流量上仍小於傳統網路,但其佔有率正在成長,因此我們需要思考如何發展有效行動應用程式的策略。我們討論思考產品願景、將使用者參與的樣式區分為「前傾」、「後傾」和「俯視」樣式;同時將它們整合到跨媒體應用程式中。我們討論為何專注於價值比流量更重要、雷射與全面覆蓋平台策略,並認為 Android、iOS 和網路是三種可行的平台選擇。Giles 以我們與一家主要航空公司合作的案例研究作結。
關於無架構、NoSQL 中的一致性,以及軟體設計經濟學的演講
我在舊金山的一場 Thoughtworks 活動中演講,使用我慣用的演講套件風格。在這場演講中,各個區塊涵蓋如何以及何時使用無架構資料結構、為何 NoSQL 資料庫中的一致性不只是 ACID 與 BASE 的比較,以及設計良好的軟體的經濟論證。
資料的演化全景
我們在 2012 年倫敦 QCon 大會的重點演講中探討資料在我們生活中扮演的角色(而且它所做的不只是變得更大)。我們從資料世界如何改變開始探討:它正在成長、變得更分散且更具連結性。接著我們轉移到產業的回應:NoSQL 的興起、轉向服務整合、事件溯源的出現、雲端和新分析的影響,以及視覺化的重要角色。我們快速檢視資料現在如何被使用,Rebecca 特別強調開發中國家的資料。最後,我們思考所有這些對我們身為軟體專業人士的個人責任有何意義。
持續交付
我們提供持續交付的一小時概觀。主題包括持續交付的理由、部署管線、持續整合、DevOps 和部署策略。重點是 Jez 將候選版本擬人化為希臘神話中的英雄。
敏捷開發大會的重點演講
三個演講區塊:測試中的非決定論、軟體開發的經濟學、敏捷宣言發表 10 年。
為什麼,不是怎麼做
Neal Ford 和我於 2010 年在巴黎的 USI 演講,主題是敏捷運作的原理(而非方法)。這探討了敏捷運作有效的一些核心力量,而非探討技術。我們特別探討溝通和回饋的角色,以及它們在敏捷環境中如何交互作用。
三年真實世界的 Ruby
在 2009 年倫敦 QCon 演講中,我調查了 Thoughtworks 在 2006 年至 2008 年間使用 Ruby 的情況,那時我們進行了 41 個專案。我的演講涵蓋了我們對 Ruby 的生產力、速度和可維護性的看法。我得出結論,Ruby 應該被視為一個嚴肅的開發環境。如果你喜歡閱讀而非觀看,我還有一篇文章涵蓋相同的材料。
民主政治技術革命
我的同事 Zack Exley 和我談論了 2008 年歐巴馬總統競選活動中使用的軟體。我發現特別有趣的一個面向是,軟體如何支援競選活動的組織方式並與之互動。
領域特定語言的元介紹
這是我平常的 DSL 簡介演講,但因為我對著比平常更了解 DSL 的聽眾演講,所以有些不同。因此,我基本上將演講轉變為我如何向人們介紹 DSL。
Google I/O 雲端演講
Rebecca Parsons 和我談論 Google App Engine 和雲端的整體世界。在第一部分,我談論了 ThoughtWorkers 從 App Engine 實驗中學到的各種事物,重點說明測試、持久性和並行性的問題。在第二部分,Rebecca 談論了企業在轉移到雲端時將面臨的更廣泛問題。
我的公車看起來很大嗎?
我的同事吉姆·韋伯以採用輕量級和以業務為導向的企業整合方法而聲名大噪。他還以是一位非常強大且有趣的演講者而聞名。因此,當我與他一起在 QCon 2008 上分享主題演講時,我既緊張又興奮。他製作了一個非常有趣的簡報,其中穿插了一些嚴肅的要點。然後,我們就開始做了,可能是因為在演講前喝了一品脫。我們談到了企業整合的歷史、那些自以為強大但實際上只是肥胖的系統的增長、敏捷思維的作用、網路的影響(包括吉姆關於網路發明原因的獨特理論),以及這如何導致游擊隊 SOA。
毀滅的深淵
這是與我的同事丹·諾斯一起在 QCon 2007 上發表的重點演講。我們都認為開發人員與其客戶/使用者之間的差距是軟體開發中最大的問題。(我們稱之為鴻溝,但這個詞被過度使用了。)在這裡,我們談到了這個差距、它為何重要,以及我們需要做些什麼來跨越它。特別是,我們認為傳統的商業分析師中介角色就像一艘渡輪,而我們真正需要的是一座橋樑,讓開發人員和他們的客戶之間能夠直接聯繫(分析師可以建立和維護這座橋樑)。這是我的最愛聯合重點演講之一,因為我認為這個主題非常重要,而且丹是一位非常有啟發性的共同演講者。
重振企業軟體
澳大利亞金融服務公司 AMP 舉辦了一場名為 Amplify 的內部會議。他們請我談談敏捷軟體開發。我思考如何讓這場演講最符合會議的整體流程,特別是因為我預計有很大一部分聽眾並非 IT 人員。我決定談談 IT 專案如何成為基礎建設或策略性的。這種分類會改變你處理專案的方式,特別是在 IT 人員和業務人員應如何協作的方式上。
語言導向程式設計與語言工作台
我在伺服器端 Java 研討會上與 Neal Ford 共同發表的主題演講。我們探討了領域特定語言的發展趨勢、現有的語言類型以及它們為何有趣。如果你想找一場關於這個主題的演講,我比較推薦 JAOO 的影片,但這場演講延伸了一些主題,而且因為有 Neal 的參與而更有趣。如果你能找到方法擷取音訊串流,只聽音訊也可以。
敏捷開發人員與架構師:盟友而非敵人
在 2008 年的 QCon 舊金山大會上,Rebecca Parsons 和我發表了一場演講,探討敏捷方法如何與企業架構團隊合作。目前,敏捷專案團隊與架構團隊之間存在許多不信任和衝突。我們深入探討了原因,並探索了這些團隊如何合作的方法。
建立新聯盟
Thoughtworks 經常舉辦「季度技術簡報會」—在我們設有辦事處的城市舉辦的公開演講,供社區參與。在多倫多的這場 QTB 中,Scott Shaw 和我討論了如何建立 IT 與業務之間的新關係。它說明了我們為何認為應該解散 IT 部門。
2006 年 RailsConf 主題演講
與我大多數的主題演講一樣,這是一場 即興演講。考量到這場會議,這場演講的主題是 Rails 如何影響軟體開發。